package com.kehutong.charge.dto;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.kehutong.charge.util.enums.ResidentsTypeEnum;
import org.coraframework.json.annotation.JSONField;

import javax.validation.constraints.NotNull;
import java.io.Serializable;

/**
 * @description: 类目账单批量导入
 * @author: jian Ye
 * @create: 2021/8/19
 **/
public class BillItemsImportDTO implements Serializable {
    private static final long serialVersionUID = -1L;


    @JSONField(format="trim")
    @NotNull(message = "项目/小区名称不能为空")
    @ExcelProperty(value = "项目/小区名称")
    private String communityName;

    @JSONField(format="trim")
    @NotNull(message = "楼栋不能为空")
    @ExcelProperty(value ="楼栋")
    private String buildName;

    @JSONField(format="trim")
    @ExcelProperty(value ="单元")
    private String unitName;

    @JSONField(format="trim")
    @NotNull(message = "房号不能为空")
    @ExcelProperty(value ="房号")
    private String houseNumber;

    @JSONField(format="trim")
    @NotNull(message = "账单年月不能为空")
    @ExcelProperty(value ="账单年月")
    private String billYearMonth;

    @JSONField(format="trim")
    @NotNull(message = "账单类型不能为空")
    @ExcelProperty(value ="账单类型")
    private String feeTypeName;

    @JSONField(format="trim")
    @NotNull(message = "缴费人不能为空")
    @ExcelProperty(value ="缴费人")
    private String chargeName;

    @JSONField(format="trim")
    @NotNull(message = "缴费人手机号码不能为空")
    @ExcelProperty(value ="缴费人手机号码")
    private String mobile;

    @JSONField(format="trim")
    @NotNull(message = "账单金额不能为空")
    @ExcelProperty(value ="账单金额")
    private String billAmount;

    @JSONField(format="trim")
    @NotNull(message = "记账开始时间不能为空")
    @ExcelProperty(value ="记账开始时间")
    private String billCycleStart;

    @JSONField(format="trim")
    @NotNull(message = "记账截止时间不能为空")
    @ExcelProperty(value ="记账截止时间")
    private String billCycleEnd;

    @JSONField(format="trim")
    @NotNull(message = "出账时间不能为空")
    @ExcelProperty(value ="出账时间")
    private String billDate;

    @JSONField(format="trim")
    @NotNull(message = "缴费开始时间不能为空")
    @ExcelProperty(value ="缴费开始时间")
    private String chargeDate;

    @JSONField(format="trim")
    @NotNull(message = "违约时间不能为空")
    @ExcelProperty(value ="违约时间")
    private String penaltyDate;

    @ExcelIgnore
    private Integer index;

    /*** 业务处理使用*/
    @ExcelIgnore
    private String userNo;
    /*** 业务处理使用*/
    @ExcelIgnore
    private ResidentsTypeEnum residentsType;
    /*** 业务处理使用*/
    @ExcelIgnore
    private String houseNo;
    /*** 业务处理使用*/
    @ExcelIgnore
    private String communityNo;
    /*** 业务处理使用*/
    @ExcelIgnore
    private String houseBillNo;



    public Integer getIndex() {
        return index;
    }

    public void setIndex(Integer index) {
        this.index = index;
    }

    public String getCommunityName() {
        return communityName;
    }

    public void setCommunityName(String communityName) {
        this.communityName = communityName;
    }

    public String getBuildName() {
        return buildName;
    }

    public void setBuildName(String buildName) {
        this.buildName = buildName;
    }

    public String getUnitName() {
        return unitName;
    }

    public void setUnitName(String unitName) {
        this.unitName = unitName;
    }

    public String getHouseNumber() {
        return houseNumber;
    }

    public void setHouseNumber(String houseNumber) {
        this.houseNumber = houseNumber;
    }

    public String getBillYearMonth() {
        return billYearMonth;
    }

    public void setBillYearMonth(String billYearMonth) {
        this.billYearMonth = billYearMonth;
    }

    public String getFeeTypeName() {
        return feeTypeName;
    }

    public void setFeeTypeName(String feeTypeName) {
        this.feeTypeName = feeTypeName;
    }

    public String getChargeName() {
        return chargeName;
    }

    public void setChargeName(String chargeName) {
        this.chargeName = chargeName;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getBillAmount() {
        return billAmount;
    }

    public void setBillAmount(String billAmount) {
        this.billAmount = billAmount;
    }

    public String getBillCycleStart() {
        return billCycleStart;
    }

    public void setBillCycleStart(String billCycleStart) {
        this.billCycleStart = billCycleStart;
    }

    public String getBillCycleEnd() {
        return billCycleEnd;
    }

    public void setBillCycleEnd(String billCycleEnd) {
        this.billCycleEnd = billCycleEnd;
    }

    public String getBillDate() {
        return billDate;
    }

    public void setBillDate(String billDate) {
        this.billDate = billDate;
    }

    public String getChargeDate() {
        return chargeDate;
    }

    public void setChargeDate(String chargeDate) {
        this.chargeDate = chargeDate;
    }

    public String getPenaltyDate() {
        return penaltyDate;
    }

    public void setPenaltyDate(String penaltyDate) {
        this.penaltyDate = penaltyDate;
    }

    public String getHouseNo() {
        return houseNo;
    }

    public void setHouseNo(String houseNo) {
        this.houseNo = houseNo;
    }

    public String getCommunityNo() {
        return communityNo;
    }

    public void setCommunityNo(String communityNo) {
        this.communityNo = communityNo;
    }

    public String getHouseBillNo() {
        return houseBillNo;
    }

    public void setHouseBillNo(String houseBillNo) {
        this.houseBillNo = houseBillNo;
    }

    public String getUserNo() {
        return userNo;
    }

    public void setUserNo(String userNo) {
        this.userNo = userNo;
    }

    public ResidentsTypeEnum getResidentsType() {
        return residentsType;
    }

    public void setResidentsType(ResidentsTypeEnum residentsType) {
        this.residentsType = residentsType;
    }
}
